sub Stage3
{
	DeleteMusic(BGM[4]);
	if(StagePhaseProgress!=3 || StagePractice==false)
	{
	PlayMusic(BGM[5]);
	} 
	CreateEnemyFromFile(csd~"stage3/LoadEnemy.txt",0,0,0,0,0);
	SetCommonData("BurstStop",false);
	wait(120);
if(StagePhaseProgress==0 || StagePractice==false)
{
	Stage3Unit1;
	wait(30);
	Stage3Unit2;
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy04.txt",GetCenterX,GetClipMinY-64,0.75,90,1);
	wait(30);
	Stage3Unit3;
	wait(360);
	Stage3Unit4;
	wait(60);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy05.txt",GetCenterX+96,GetClipMinY-32,0.75,90,1);
	wait(90);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy05.txt",GetCenterX-96,GetClipMinY-32,0.75,90,1);
	wait(60);
	Stage3Unit7;
	wait(60);
	Stage3Unit5;
	wait(60);
	Stage3Unit6;
	wait(60);
	Stage3Unit8;
	wait(60);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy05.txt",GetCenterX-48,GetClipMinY-32,0.75,90,1);
	wait(60);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy05.txt",GetCenterX+96,GetClipMinY-32,0.75,90,1);
	wait(60);

	wait(30);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy06.txt",GetClipMinX-32,GetClipMinY+90,0.75,90,1);
	Hayamawasi1;
	wait(720);
	Stage3Unit9;
	wait(60);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy07.txt",GetCenterX-64,GetClipMinY-32,1,90,1);
	Stage3Unit2;
	wait(120);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy07.txt",GetCenterX+64,GetClipMinY-32,1,90,1);
	Stage3Unit8;
	wait(120);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy07.txt",GetCenterX-64,GetClipMinY-32,1,90,1);
	Stage3Unit2;
	wait(180);
	Stage3Unit10;
	wait(180);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy08.txt",GetCenterX+96,GetClipMinY-32,1,90,1);
	wait(120);
	Stage3Unit11;
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy08.txt",GetCenterX-96,GetClipMinY-32,1,90,1);
	wait(60);
	Stage3Unit11;
	wait(210);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy08.txt",GetCenterX,GetClipMinY-32,1,90,1);
	wait(120);
	Stage3Unit12;
	wait(120);
	Stage3Unit13;
	SetCommonData("Stage3HAYAMAWASHI3num",0);
	SetCommonData("STAGE3HAYAMAWASHI3",true);
	Stage3Hayamawasi3;

	wait(810);
}

////////////////////////////////////////////////////////////////////////////////////////////////////
if(StagePhaseProgress<=1 || StagePractice==false)
{
	SetCommonData("STAGE3MIDBOSS",true);
	SetCommonData("STAGE3MIDBOSSHAYAMAWASI",true);
	Hayamawasi2;

	Stage3MidBossAppear;

	SetCommonData("STAGE3MIDBOSS",false);
	BGStage3MidBossEnd;
	loop
	{
		if(GetCommonDataDefault("STAGE3MIDBOSSHAYAMAWASI",true)==false){break;}
		yield;
	}
	wait(60);
}
if(StagePhaseProgress<=2 || StagePractice==false)
{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy07.txt",GetCenterX+100,GetClipMinY-32,1,90,1);
	wait(30);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy07.txt",GetCenterX+0,GetClipMinY-32,1,90,1);
	wait(30);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy07.txt",GetCenterX-100,GetClipMinY-32,1,90,1);
	wait(90);
	Stage3Unit14;
	Stage3Unit17;
	wait(90);
	Stage3Unit18;
	Stage3Unit15;
	wait(120);
	Stage3Unit16;
	Stage3Unit17;
	wait(120);
	Stage3Unit19;
	wait(60);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy10.txt",GetCenterX-100,GetClipMinY-32,0.5,90,1);
	wait(150);
	Stage3Unit16a;
	wait(180);
	Stage3Unit20;
	wait(90);
	Stage3Unit21;
	wait(90);
	SetCommonData("Stage3Enemy11aStop",true);
	Stage3Unit22;
	wait(60);
	SetCommonData("Stage3Enemy3aStop",true);
	wait(15);
	Stage3Unit23;
	wait(15);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy10.txt",GetCenterX+100,GetClipMinY-32,0.5,90,1);
	wait(60);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy08.txt",GetCenterX-96,GetClipMinY-32,1.0,90,1);
	wait(120);
	Stage3Unit28;
	Stage3Unit25;
	wait(30);
//	Stage3Unit24;
	wait(30);
	//Stage3Unit22;
	wait(90);
//	Stage3Unit26;
//	Stage3Unit28;
	wait(90);
	SetCommonData("Stage3Enemy11aStop",false);
	Stage3Unit20;
	Stage3Unit29;
	wait(150);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy10.txt",GetCenterX,GetClipMinY-32,0.5,90,1);
	wait(15);
	SetCommonData("Stage3Enemy11aStop",true);
	SetCommonData("Stage3Enemy3bStop",true);
	wait(15);
	WaitForZeroEnemy;
	FadeOutMusic(BGM[5],10);
	wait(120);
}
//////////////////////////////////////////////////////////////////
if(StagePhaseProgress<=3 || StagePractice==false)
{
	DeleteMusic(BGM[5]);
	PlayMusic(BGM[6]);
	SetCommonData("STAGE3BOSS",true);
	wait(1);
			
	Stage3BossAppear;

	SetCommonData("STAGE3BOSS",false);
	CreateEnemyFromFile(csd~"stage3/DeleteEnemy.txt",GetClipMinX-64,GetCenterY-48,2,90,1);
}
}

function Stage3MidBossAppear
{
	if(GetCommonDataDefault("ExclusiveBoss",false)==true)
	{
		SetCommonData("IsMSDBossExisting",true);

		CreateEnemyFromFile(csd~"stage3/Starsapphire.txt",GetClipMaxX-60,GetClipMinY-16,2,0,0);
		WaitForZeroEnemy;
		CreateEnemyFromFile(csd~"stage3/BossEscape.txt",GetClipMaxX-60,GetClipMinY-16,2,0,0);
		WaitForZeroEnemy;

		SetCommonData("IsMSDBossExisting",false);
	}
	else
	{
		CreateEnemyBossFromFile(csd~"stage3/Stage3MidBoss.txt",GetClipMaxX-60,GetClipMinY-16,2,0,0);
		WaitForZeroEnemy;
	}
}

function Stage3BossAppear
{
	if(GetCommonDataDefault("ExclusiveBoss",false)==true)
	{
		SetCommonData("IsMSDBossExisting",true);

		CreateEnemyFromFile(csd~"stage3/Nue1.txt",GetClipMaxX-60,GetClipMinY-16,2,0,0);
		WaitForZeroEnemy;
		CreateEnemyFromFile(csd~"stage3/Nue2.txt",GetClipMaxX-60,GetClipMinY-16,2,0,0);
		WaitForZeroEnemy;
		CreateEnemyFromFile(csd~"stage3/Nue3.txt",GetClipMaxX-60,GetClipMinY-16,2,0,0);
		WaitForZeroEnemy;
		CreateEnemyFromFile(csd~"stage3/BossDefeat.txt",GetClipMaxX-60,GetClipMinY-16,2,0,0);
		WaitForZeroEnemy;

		SetCommonData("IsMSDBossExisting",false);
	}
	else
	{
		CreateEnemyBossFromFile(csd~"stage3/Stage3Boss.txt",GetClipMaxX-60,GetClipMinY-16,2,0,0);
		WaitForZeroEnemy;
	}
}

task Stage3Hayamawasi3
{
	let count=0;
	let judg=0;
	loop(480)
	{
		if(GetCommonData("Stage3HAYAMAWASHI3num")==0 || count>=120)
		{
			if(judg%2==0)
			{
			S3H3Unit1;
			}
			else
			{
			S3H3Unit2;
			}
			judg+=1;
			count=0;
		}
		count+=1;
		yield;
	}

	task S3H3Unit1
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy05a.txt",GetCenterX-96,GetClipMinY-24,0.8,90,1);
	waitS3H3(60);
	Stage3Unit2a;
	}

	task S3H3Unit2
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy05a.txt",GetCenterX+96,GetClipMinY-24,0.8,90,1);
	waitS3H3(60);
	Stage3Unit8a;
	}

	task Stage3Unit2a
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02a.txt",GetCenterX+64,GetClipMinY-16,0,0,1);
	waitS3H3(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02a.txt",GetCenterX+96,GetClipMinY-16,0,0,1);
	waitS3H3(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02a.txt",GetCenterX+32,GetClipMinY-16,0,0,1);
	waitS3H3(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02a.txt",GetCenterX+128,GetClipMinY-16,0,0,1);
	waitS3H3(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02a.txt",GetCenterX+160,GetClipMinY-16,0,0,1);
	}

	task Stage3Unit8a
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02a.txt",GetCenterX-64,GetClipMinY-16,0,0,1);
	waitS3H3(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02a.txt",GetCenterX-96,GetClipMinY-16,0,0,1);
	waitS3H3(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02a.txt",GetCenterX-32,GetClipMinY-16,0,0,1);
	waitS3H3(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02a.txt",GetCenterX-128,GetClipMinY-16,0,0,1);
	}

	function waitS3H3(w)
	{
	loop(w)
	{
		if(GetCommonData("Stage3HAYAMAWASHI3num")==0){break;}
		yield;
	}
	}
		
	SetCommonData("STAGE3HAYAMAWASHI3",false);
}

task Hayamawasi2
{
let count=0;
	loop(1800)
	{
		if(GetCommonDataDefault("STAGE3MIDBOSS",true)==false){break;}
		count+=1;
		yield;
	}
	if(count<1200){count=1200;}
	loop
	{
		ascent(i in 0..10)
		{
		if(count==1200+60*i)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy09.txt",GetCenterX+40,GetClipMinY-32,2.5,90,0);
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy09.txt",GetCenterX-120,GetClipMinY-32,2.5,90,0);
		}
		if(count==1215+60*i)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy09.txt",GetCenterX-80,GetClipMinY-32,2.5,90,0);
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy09.txt",GetCenterX+80,GetClipMinY-32,2.5,90,0);
		}
		if(count==1230+60*i)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy09.txt",GetCenterX-40,GetClipMinY-32,2.5,90,0);
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy09.txt",GetCenterX+120,GetClipMinY-32,2.5,90,0);
		}
		if(count==1245+60*i)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy09.txt",GetCenterX-80,GetClipMinY-32,2.5,90,0);
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy09.txt",GetCenterX+80,GetClipMinY-32,2.5,90,0);
		}
		}
		if(count>=1800){break;}
	count+=1;
	yield;
	}
	SetCommonData("STAGE3MIDBOSSHAYAMAWASI",false);
}

task Hayamawasi1
{
let count=0;
	loop(720)
	{
		if(GetCommonDataDefault("STAGE3HAYAWAMASHI",false)){break;}
		count+=1;
		yield;
	}
	let Xdir=[-1,0,1];
	let num=0;
	while(count<720)
	{
		if(count%30==0)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy01.txt",GetCenterX-96*Xdir[num%3],GetClipMinY-16,0,0,1);
			num+=1;
		}
		if(count==90)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy05.txt",GetCenterX+96,GetClipMinY-32,0.75,90,1);
		}
		if(count==180)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy05.txt",GetCenterX-0,GetClipMinY-32,0.75,90,1);
		}
		if(count==270)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy05.txt",GetCenterX-96,GetClipMinY-32,0.75,90,1);
		}
		if(count==360)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy05.txt",GetCenterX-0,GetClipMinY-32,0.75,90,1);
		}
		if(count==450)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy05.txt",GetCenterX+96,GetClipMinY-32,0.75,90,1);
		}
		if(count==540)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy05.txt",GetCenterX,GetClipMinY-32,0.75,90,1);
		}
		if(count==630)
		{
			CreateEnemyFromFile(csd~"stage3/Stage3Enemy05.txt",GetCenterX-96,GetClipMinY-32,0.75,90,1);
		}
	count+=1;
	yield;
	}
}


task Stage3Unit1
{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy01.txt",GetCenterX-64,GetClipMinY-16,0,0,1);
	wait(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy01.txt",GetCenterX-96,GetClipMinY-16,0,0,1);
	wait(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy01.txt",GetCenterX-32,GetClipMinY-16,0,0,1);
}

task Stage3Unit2
{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02.txt",GetCenterX+64,GetClipMinY-16,0,0,1);
	wait(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02.txt",GetCenterX+96,GetClipMinY-16,0,0,1);
	wait(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02.txt",GetCenterX+32,GetClipMinY-16,0,0,1);
	wait(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02.txt",GetCenterX+128,GetClipMinY-16,0,0,1);
	wait(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02.txt",GetCenterX+160,GetClipMinY-16,0,0,1);
}

task Stage3Unit3
{
let y=120;
	loop(6)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMaxX+16,GetClipMinY-20+y,1.0,165,1);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMaxX+16,GetClipMinY-60+y,1.0,165,1);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMinX-16,GetClipMinY+20+y,1.0,15,1);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMinX-16,GetClipMinY+60+y,1.0,15,1);
		wait(45);
		y+=12;
	}
}


task Stage3Unit4
{
let y=10;
	loop(8)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMinX-16,GetClipMinY-16+y,1.0,30,1);
		wait(45);
		y+=12;
	}
}

task Stage3Unit5
{
	loop(6)
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Elemental.txt",GetCenterX+96,GetClipMinY-16,0,0,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Elemental.txt",GetCenterX+192,GetClipMinY-16,0,0,1);
	wait(10);
	}
}


task Stage3Unit6
{
	loop(6)
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Elemental.txt",GetCenterX-96,GetClipMinY-16,0,0,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Elemental.txt",GetCenterX-192,GetClipMinY-16,0,0,1);
	wait(10);
	}
}

task Stage3Unit7
{
let y=30;
	loop(12)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMaxX+16,GetClipMinY-16+y,1.0,150,1);
		wait(45);
		y+=12;
	}
}

task Stage3Unit8
{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02.txt",GetCenterX-64,GetClipMinY-16,0,0,1);
	wait(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02.txt",GetCenterX-96,GetClipMinY-16,0,0,1);
	wait(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02.txt",GetCenterX-32,GetClipMinY-16,0,0,1);
	wait(10);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy02.txt",GetCenterX-128,GetClipMinY-16,0,0,1);
}

task Stage3Unit9
{
	loop(10)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX-128,GetClipMinY-16,1.0,90,1);
		wait(30);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX+128,GetClipMinY-16,1.0,90,1);
		wait(30);
	}
}

task Stage3Unit10
{
	loop(5)
	{
	ascent(i in -3..4)
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Elemental.txt",GetCenterX+48*i,GetClipMinY-16,0,0,1);
	wait(5);
	}
	}
}

task Stage3Unit11
{

let x=-0;
let y=20;
	loop(18)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03c.txt",GetClipMaxX+x,GetClipMinY-16+y,1.414,60,1);
		//wait(20);
		y-=20;
		x-=40;
	}

/*
let x=-40;
let y=30;
	loop(9)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMaxX+x,GetClipMinY-16,1,90,1);
		wait(20);
		x-=40;
	}
*/
}

task Stage3Unit12
{
	loop(4)
	{
	ascent(i in -3..4)
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Elemental.txt",GetCenterX-48*i,GetClipMinY-16,0,0,1);
	wait(5);
	}
	}
}

task Stage3Unit13
{
	loop(9)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX+32,GetClipMinY-16,1,90,1);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX-32,GetClipMinY-16,1,90,1);
		wait(60);
	}
}

task Stage3Unit14
{
let y=0;
	loop(8)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy09a.txt",GetClipMaxX+16,GetClipMinY+32+y,4,155,1);
		wait(10);
		y+=4;
	}
}

task Stage3Unit15
{
let y=15;
	loop(8)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy09b.txt",GetClipMinX-16,GetClipMinY+64+y,4,5,1);
		wait(10);
		y+=4;
	}
}

task Stage3Unit16
{
let y=30;
	loop(10)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy09c.txt",GetClipMaxX+16,GetClipMinY+64+y,4,170,1);
		wait(10);
		y+=4;
	}
}

task Stage3Unit16a
{
let y=30;
	loop(10)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy09e.txt",GetClipMaxX+16,GetClipMinY+64+y,4,165,1);
		wait(10);
		y+=4;
	}
}

task Stage3Unit17
{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX+64,GetClipMinY-16,1,90,1);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX+144,GetClipMinY-16,1,90,1);
		wait(60);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy07.txt",GetCenterX+104,GetClipMinY-16,1,90,1);
		wait(60);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX+64,GetClipMinY-16,1,90,1);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX+144,GetClipMinY-16,1,90,1);
}


task Stage3Unit18
{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX-64,GetClipMinY-16,1,90,1);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX-144,GetClipMinY-16,1,90,1);
		wait(60);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy07.txt",GetCenterX-104,GetClipMinY-16,1,90,1);
		wait(60);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX-64,GetClipMinY-16,1,90,1);
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX-144,GetClipMinY-16,1,90,1);
}

task Stage3Unit19
{
let y=45;
	loop(12)
	{
		CreateEnemyFromFile(csd~"stage3/Stage3Enemy09d.txt",GetClipMinX-16,GetClipMinY+64+y,4,10,1);
		wait(10);
		y+=4;
	}
}

task Stage3Unit20
{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy11a.txt",GetClipMinX-32,GetClipMinY+116,1,30,1);
	wait(30);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy11a.txt",GetClipMaxX+32,GetClipMinY+116,1,150,1);
	wait(45);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy11a.txt",GetClipMinX-32,GetClipMinY+104,1,30,1);
	wait(35);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy11a.txt",GetClipMaxX+32,GetClipMinY+120,1,150,1);
}

task Stage3Unit21
{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03a.txt",GetClipMaxX+16,GetClipMinY+28,1,160,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03a.txt",GetClipMaxX+16,GetClipMinY+76,1,160,1);
	wait(60);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03a.txt",GetClipMaxX+16,GetClipMinY+28,1,160,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03a.txt",GetClipMaxX+16,GetClipMinY+76,1,160,1);
	wait(60);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03a.txt",GetClipMaxX+16,GetClipMinY+28,1,160,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03a.txt",GetClipMaxX+16,GetClipMinY+76,1,160,1);
}

task Stage3Unit22
{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy11.txt",GetClipMinX+64,GetClipMinY-16,1,90,1);
	wait(30);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy11.txt",GetClipMinX+128,GetClipMinY-16,1,90,1);
}

task Stage3Unit23
{
let x=10;
	loop(2)//TQ
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX+25+x,GetClipMinY-16,1,90,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetCenterX-25+x,GetClipMinY-16,1,90,1);
	wait(60);
	x+=10;
	}

/*
let x=0;
	loop(2)//TQ
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMinX+64+x,GetClipMinY-16,1,100,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMinX+112+x,GetClipMinY-16,1,100,1);
	wait(60);
	x+=10;
	}
*/
}

task Stage3Unit24
{
	loop(5)
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy01.txt",GetClipMaxX-64,GetClipMinY-16,1,100,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy09.txt",GetClipMaxX+16,GetClipMinY+64,4,175,1);
	wait(30);
	}
	
}

task Stage3Unit25
{
let x=0;
	loop(3)
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMaxX-44+x,GetClipMinY-16,1,90,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMaxX-92+x,GetClipMinY-16,1,90,1);
	wait(60);
	x-=20;
	}
/*
let x=0;
	loop(6)
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMaxX-64+x,GetClipMinY-16,1,80,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMaxX-112+x,GetClipMinY-16,1,80,1);
	wait(60);
	x-=10;
	}
*/
}

task Stage3Unit26
{
	loop(5)
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy01.txt",GetClipMinX+64,GetClipMinY-16,1,80,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy09.txt",GetClipMinX-16,GetClipMinY+64,4,5,1);
	wait(30);
	}
	
}

task Stage3Unit27
{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy11.txt",GetClipMaxX+32,GetClipMinY+100,1,150,1);
	wait(30);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy11.txt",GetClipMaxX+32,GetClipMinY+80,1,150,1);
}

task Stage3Unit28
{
let x=0;
	loop(3)
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMinX+92+x,GetClipMinY-16,1,90,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03.txt",GetClipMinX+44+x,GetClipMinY-16,1,90,1);
	wait(60);
	x+=20;
	}
}

task Stage3Unit29
{
let x=0;
	loop(3)
	{
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03b.txt",GetClipMinX-16,GetClipMinY+60,1,5,1);
	CreateEnemyFromFile(csd~"stage3/Stage3Enemy03b.txt",GetClipMaxX+16,GetClipMinY+60,1,175,1);
	wait(60);
	x+=20;
	}
}